package com.xxjh.brs.uavmodeling.service;

import com.xxjh.brs.sftp.vo.FileVo;
import com.xxjh.brs.sftp.vo.FloderVo;

import java.util.List;

/**
 * @author CHENCHEN
 * @title 无人机建模推送FTP服务
 * @company 新兴际华科技（天津）有限公司
 * @create 2024-07-03 19:21
 */
public interface UavModelingService {

    /**
     * 删除本地及FTP上对应内容。
     *
     * @param mapId 地图ID。
     * @return
     */
    void delFtpAndLocalDirectory(String mapId);

    /**
     * 查询所有地图所拥有的无人机建模3d图。
     *
     * @return 存放目录名称
     */
    List<FloderVo> getAllDirectory();

    /**
     * 获取建模状态。
     *
     * @param mapId 地图ID。
     */
    void modelingStatus(String mapId, String taskId);

    /**
     * FTP拉取到本地，上传到FTP。
     *
     * @param mapId 地图ID。
     * @return 是否结束
     */
    boolean transferFtp(String mapId);

    /**
     * 获取所有的建模信息。
     *
     * @return 所有的建模信息
     */
    List<FileVo> getAllTiles();

    /**
     * 获取现有任务中的建模地图。
     *
     * @param mapId 地图ID。
     * @return 建模地图
     */
    List<FileVo> getStartingTilesByMapId(String mapId);

    /**
     * 启动检查获取建模地图ID
     *
     * @return 地图ID集合
     */
    List<String> initChecking();

    /**
     * 初始化加载现有所有模型。
     *
     */
    void initLoading();
}
